package fr.upstlse.glre.client.vitrine;


import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.widget.InfoConfig;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.HistoryListener;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.VerticalPanel;

import fr.upstlse.glre.client.constante.RfgConstanteEnum;
import fr.upstlse.glre.client.login.Login;
import fr.upstlse.glre.client.utilitaires.ControlerUtil;
import fr.upstlse.glre.client.vitrine.Page.SinkInfo;
import fr.upstlse.glre.client.vo.vitrine.PageVitrineVOGWT;

/**
 * Application that demonstrates all of the built-in widgets.
 */
public class Vitrine implements HistoryListener {

	protected PageList list = new PageList();
	private SinkInfo curInfo;
	private Page curSink;
	private HTML description = new HTML();
	private VerticalPanel panel = new VerticalPanel();

	public void onHistoryChanged(String token) {
		// Find the SinkInfo associated with the history context. If one is
		// found, show it (It may not be found, for example, when the user mis-
		// types a URL, or on startup, when the first context will be "").
		SinkInfo info = list.find(token);
		if (info == null) {
			showInfo();
			return;
		}
		show(info, false);
	}

	public Vitrine() {
		// Button to open the login window
		Button lConnexionButton = new Button();
		lConnexionButton.setId(RfgConstanteEnum.CONNEXION_BUTTON_ID.getValue());
		lConnexionButton.setText(RfgConstanteEnum.CONNEXION_BUTTON_TEXT.getValue());
		lConnexionButton.addSelectionListener(new SelectionListener<ComponentEvent>() {

			@Override
			public void componentSelected(ComponentEvent ce) {
				new Login();
			}
			
		});
		ButtonBar lButtonBar = new ButtonBar();
		lButtonBar.setButtonAlign(HorizontalAlignment.RIGHT);
		lButtonBar.add(lConnexionButton);
		panel.add(lButtonBar);
		

		HorizontalPanel hp = new HorizontalPanel();
		Image logo_ups = new Image("images/vitrine/logoUPS.jpg");
		Image logo_irit = new Image("images/vitrine/logoIRIT.jpg");
		hp.add(logo_ups);
		logo_ups.setSize("198", "75");
		hp.add(logo_irit);
		logo_irit.setSize("344", "75");
		hp.setCellHorizontalAlignment(logo_irit, HasHorizontalAlignment.ALIGN_RIGHT);
		hp.setWidth("100%");
		panel.add(hp);
		hp.setStyleName("ks-Logos");



		

		History.addHistoryListener(this);

		
	}
	
	public void loadVitrine() {
		// Load all the sinks.
		loadSinks();
		

	}

	public void show(SinkInfo info, boolean affectHistory) {
		// Don't bother re-displaying the existing sink. This can be an issue
		// in practice, because when the history context is set, our
		// onHistoryChanged() handler will attempt to show the currently-visible
		// sink.
		if (info == curInfo) {
			return;
		}
		curInfo = info;

		// Remove the old sink from the display area.
		if (curSink != null) {
			curSink.onHide();
			panel.remove(curSink);
		}

		// Get the new sink instance, and display its description in the
		// sink list.
		curSink = info.getInstance();
		list.setSinkSelection(info.getName());
		description.setHTML(info.getDescription());

		// If affectHistory is set, create a new item on the history stack. This
		// will ultimately result in onHistoryChanged() being called. It will call
		// show() again, but nothing will happen because it will request the exact
		// same sink we're already showing.
		if (affectHistory) {
			History.newItem(info.getName());
		}

		// Change the description background color.
		DOM.setStyleAttribute(description.getElement(), "background",
				info.getColor());

		// Display the new sink.
		curSink.setVisible(false);
		panel.add(curSink);
		panel.setCellHorizontalAlignment(curSink, VerticalPanel.ALIGN_CENTER);
		curSink.setVisible(true);
		curSink.onShow();
	}

	/**
	 * Adds all sinks to the list. Note that this does not create actual instances
	 * of all sinks yet (they are created on-demand). This can make a significant
	 * difference in startup time.
	 */
	protected void loadSinks() {
		final MessageBox lWaitMessageBox = MessageBox.wait("Chargement en cours", "Veuillez patienter chargement en cours...", "Chargement en cours...");
		lWaitMessageBox.show();
		AsyncCallback lPagesVitrineCallback = new AsyncCallback() {
			public void onFailure(Throwable pCaught) {
				lWaitMessageBox.hide();
				MessageBox.alert("Erreur", "Erreur getAllPagesVitrine " + pCaught.getMessage(), null);
				pCaught.printStackTrace();
			}

			public void onSuccess(Object pResult) {
				lWaitMessageBox.hide();
				PageVitrineVOGWT[] lPageVitrine = (PageVitrineVOGWT[]) pResult;
				if(lPageVitrine.length == 0) {
					InfoConfig lInfoNoPage = new InfoConfig("Information", "Aucunes pages disponibles");
					com.extjs.gxt.ui.client.widget.Info.display(lInfoNoPage);
				}
				else {
					for (PageVitrineVOGWT pageVitrineVOGWT : lPageVitrine) {
						list.addSink(Info.init(pageVitrineVOGWT.getTitre(), pageVitrineVOGWT.getContenu()));
					}
					panel.add(list);
					panel.add(description);
					panel.setWidth("100%");

					description.setStyleName("ks-Info");

					// Show the initial screen.
					String initToken = History.getToken();
					if (initToken.length() > 0) {
						onHistoryChanged(initToken);
					} else {
						showInfo();
					}
				}
				
			}
		};
		ControlerUtil.getControlerServiceAsyncInstance().getAllPageVitrine(lPagesVitrineCallback);
	}

	//TODO Ã  supprimer... c'est juste en attendant le cotÃ© serveur!

//	public static String[] getPages(){
//	String[] page = {"Présentation", "Depuis la rentrée 2007, le M2 Pro GLRE fait suite au M2 Pro Génie Logiciel et Répartition (anciennement DESS Informatique Fondamentale).<br><br><br><br><span style=\"font-weight: bold; text-decoration: underline;\">Objectifs de la formation:</span><br><br>L'objectif est de former des informaticiens hautement qualifiés qui peuvent être intégrés efficacement dans les processus de réalisation et de maintenance de systèmes à forte composante logicielle. Les logiciels ciblés sont plus particulièrement des logiciels répartis ou embarqués.<br><br>La formation s'attache à présenter des concepts fondamentaux, méthodes, outils et techniques pour concevoir, réaliser, intégrer, vérifier (ou faire concevoir, réaliser, intégrer, vérifier) des produits à base de logiciels, en favorisant une approche globale du système. Un tronc commun présente les concepts généraux. Il est complété par deux parcours, proposant respectivement des spécialisations techniques vers les logiciels répartis et vers les logiciels embarqués.<br><br>La formation met en situation professionnelle les étudiants, en particulier ceux n'ayant pas ou peu d'expérience sur le terrain.<br><br>Vous pouvez télécharger la planche de présentation de la formation sous format PDF en <a href=\"http://www.irit.fr/PERSONNEL/SMAC/arcangeli/M2GLRE.pdf\">cliquant ici</a>.<br><br><br><br><span style=\"font-weight: bold; text-decoration: underline;\">Débouchés professionnels:</span><br><br>Postes de cadre spécialisé en conception, codage, test et intégration de logiciel, en qualité et en management de projets, et postes de consultant dans ces domaines. Les débouchés sont ciblés vers les donneurs d'ordre (grands comptes, administrations...) et les sociétés de service.<br><br><br><br><span style=\"font-weight: bold; text-decoration: underline;\">Anciens étudiants:</span><br><br>L'association AMGLR regroupe les anciens étudiants du Master GLR et du DESS Informatique Fondamentale. Pour accéder au site web, <a href=\"http://www.amglr.net/\">cliquer ici</a>.<br><br>",
//	"La formation","<font style=\"text-decoration: underline;\" size=\"3\"><span style=\"font-weight: bold;\">Durée et mode de formation:</span></font><br><br>La formation s’effectue en alternance au rythme de 3 jours de stage et 2 jours de cours par semaine, sur une année universtaire d'octobre à juin.<br><br>Le stage en entreprise dure 8 mois, de novembre à juin, au rythme de 3 jours par semaine (lundi, mardi et mercredi).<br><br><br><font style=\"text-decoration: underline;\" size=\"2\"><span style=\"font-weight: bold;\">Objectifs</span></font><br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mise en situation professionnelle d’étudiants ayant peu d’expérience du terrain<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; réalisation d’un travail utile à l’entreprise<br><br><br><span style=\"font-weight: bold; text-decoration: underline;\">Recherche du stage</span><br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; un recueil d’offres diffusé à tous<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ou proposition par l’étudiant (validée par les responsables de la formation)<br><br><br><span style=\"font-weight: bold; text-decoration: underline;\">Encadrement</span><br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; un maître de stage en entreprise<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; un tuteur universitaire<br><br><br><span style=\"font-weight: bold; text-decoration: underline;\">Exemples de sujets de stage 2007-2008</span><br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Développement de softwares, drivers et tests embarqués pour validation de chipset<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Etude d'un outil de test automatique pour les IHM Web et étude d'un framework Ajax<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Maintenance, étude et évolutions d'applications EAI (Enterprise Application Integration)<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Création d'un éditeur graphique pour SysML avec GMF et maintenance de l'éditeur existant<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Participation à la conception et à la réalisation d'une infrastructure répartie pour des applications de navigation<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Maintenance d'un framework graphique et d'un outil de monitoring pour satellite<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Conception d'un prototype d'outil de recueil d'informations terrain sur PDA<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Conception et réalisation d'une architecture générique pour le mapping de fichiers hétérogènes<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Maintenance et évolutions d'un logiciel de gestion de données d'un simulateur d'avion en langage Java<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Evolution d'un portail intranet permettant la gestion de données techniques (J2EE)<br><br><br><span style=\"font-weight: bold; text-decoration: underline;\">Exemples de sujets de stage 2006-2007</span><br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Maintenance évolutive d’un logiciel de test automatique<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Analyse, développement et maintenance d'applications .NET<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Développement d'un logiciel de gestion du processus de validation<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Etude d’outils et développement d’applications « Machine to Machine »<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mise en place d’une démarche et d’une politique qualité en vue de la préparation à la certification ISO 9001:2000<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Conception et développement d’un système d'information basé sur les technologies Ajax, Spring et Hibernate<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Comparaison de Web Services Java Open Source<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Développement d'une application J2EE permettant l'audit d'applications J2EE<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Développement d'un logiciel embarqué dans un satellite<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Evaluation et application d’une architecture logicielle pour un programme de test de modules spatiaux<br><br><br><span style=\"font-weight: bold; text-decoration: underline;\">Exemples de sujets de stage 2005-2006</span><br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Aide pour la mise en place et le suivi d’un atelier de spécification des logiciels applicatifs pour les systèmes SLK de l’airbus A400M<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Enrichissement d’un environnement de tests unitaires et de qualification dans un environnement J2EE<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Maintenance et validation d’une application J2EE<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Application web de gestion de flux de données<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Maintenance d’une application PDM et définition d’un processus de développement<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Conception et développement de modules pour une plate-forme logicielle générique<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Etude et conception d’un logiciel de contrôle dans un ballon stratosphérique<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mise en œuvre et aide à la génération de scénarios de test en LUA<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Développement IHM JAVA/Eclipse<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gestion des exigences : déploiement de DOORS<br><br><br><span style=\"font-weight: bold; text-decoration: underline;\">Exemples de sujets de stage 2004-2005</span><br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Logiciel de pilotage d’un instrument scientifique embarqué dans un satellite<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Développement d’un environnement de développement graphique à partir d’ECLIPSE<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Enrichissement du framework Java Entreprise Toolkit dans un environnement J2EE<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Développement d’applications intelligentes à base de technologies orientées objet<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Simulations distribuées pour l’évaluation de réseaux avioniques<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Logiciel Internet en architecture client léger pour assurer le suivi de collaborateurs<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Expertise de télémesure SPOT et contrôle des stations de réception<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Conception, réalisation et intégration d’un client FTP pilotant un système de stockage<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Réalisation d’une passerelle Voix/IP<br><br>·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Développement et maintenance d’une application Windchill",
//	"Partenaires","<span style=\"font-weight: bold; text-decoration: underline;\">Entreprises partenaires</span><br><br>La formation s'appuie sur un partenariat établi de longue date avec des entreprises régionales de différents domaines, en particulier, l'espace, l'aéronautique, les systèmes embarqués, les transports, les télécommunications, la santé. Les différents partenaires industriels participent à l'élaboration des programmes et interviennent dans le cadre d'enseignements académiques ou de conférences, ou dans l'encadrement des stagiaires qu’ils accueillent.<br><br><br><br><span style=\"font-weight: bold; text-decoration: underline;\">Entreprises d'accueil</span><br><br>2007-2008 : ACS, AIR France, ALMERYS, ARTAL Technologies, ATOS ORIGIN, BEWISE, CAMINEO, C &amp; S, EUROGICIEL, FREESCALE, HI-STOR Technologies, MDTVISION, SOGETI High Tech, VALTECH<br><br>2006-2007 : AIR France, ANYWARE Technologies, ARTAL Technologies, ASTEK, ATOS Origin, BEWISE, CAP GEMINI, CESBIO, CESR, CESR, EURECIA, GFI, HI-STOR Technologies, INRA, MDTVISION, PHYLUM, SEANODES, SIEMENS VDO, SOGETI High Tech, SYGNATURES<br><br>2005-2006 : ACS-BPS, AIR France,&nbsp; ALIACOM, ARTAL Technologies, ATOS ORIGIN, CESBIO, CESR, CNES, Pierre FABRE, FREESCALE, HI-STOR Technologies, ISIS-MPP, MAGELLIUM, MDTVision, TEUCHOS<br><br>2004-2005 : ACS, Airbus, Air France, Atos Origin, Artal Technologies, CESR, Cirso, EADS, Génigraph, Hi-Stor Technologies, IBM, MDTvision, Newtech, Oktal, Onera, Pulsar Innovation, Thales, Siemens, Silogic<br><br>2003-2004 : Air France, Asef, Artal Technologies, Atos Origin, Bewise, CESR, Coptim, EADS, EDF, Eikonex, Génigraph, Motorola HRIS, Hi-Stor Technologies, IBM, IRIT, Laas, Newtech, Onera, OpenCube, Pulsar Innovation<br><br>2002-2003 : Airbus, Artal Technologies, CNES, Cortim, CS, EADS, EDF, Eikonex, Génigraph, Motorola HRIS, Hi-Stor Technologies, Laas, Newtech, Thales<br><br>2001-2002 : Artal Technologies, Astrium, CNES, CESR, CS-SI, Génigraph, Infomil, INRA, ISIS-MPP, Motorola HRIS, Matra SI, REM Informatique,Tool Object, Transiciel<br><br>Autres entreprises : ALCATEL, ALTRAN, B&amp;A Consultants, EXPECTRA, GENIGRAPH, INTUILAB...",
//	"Programme","<font style=\"text-decoration: underline;\" size=\"3\"><span style=\"font-weight: bold;\">Programme</span></font><br><br><br><span style=\"font-weight: bold;\">&nbsp;Tronc commun</span><br><br>· UE1 « Approche Système et Management de Projets », 60h, 6 ECTS<br>· UE2 « Modèle d’Ingénierie du Processus de développement », 20h, 3 ECTS<br>· UE3 « Spécifications Formelles des Systèmes », 20h, 3 ECTS<br>· UE4 « Architecture logicielle et Ingénierie des Modèles », 72h, 6 ECTS<br>· UE5 « Ergonomie et Interaction Homme-Machine», 36h, 3 ECTS<br>· UE6 « Culture Générale et Scientifique », 60h, 6 ECTS<br>· UE7 « Stage 1 », 3 ECTS<br>· UE8 « Ingénierie du Test et de l’Intégration », 36h, 3 ECTS<br><br><br><span style=\"font-weight: bold;\"> Parcours « Logiciels Répartis »</span><br><br>· UE9R «Conception d’Applications Réparties», 72h, 6 ECTS<br>· UE10R « Technologies pour la répartition », 72h, 6 ECTS<br>· UE11 « TER », 3 ECTS<br>· UE12 « Stage 2 », 12 ECTS<br><br><br><span style=\"font-weight: bold;\"> Parcours « Logiciels Embarqués »</span><br><br>· UE9E « Conception d’Applications Temps-Réel et Embarquées », 72h, 6 ECTS<br>· UE10E « Programmation Avancée et Optimisation », 72h, 6 ECTS<br>· UE11 « TER », 3 ECTS<br>· UE12 « Stage 2 », 12 ECTS",
//	"Admission", "<font style=\"text-decoration: underline;\" size=\"3\"><span style=\"font-weight: bold;\">Conditions d’admission:</span></font><br><br>Sont admissibles sur dossier les étudiants titulaires :<br><br>·&nbsp; d'un Master 1 (M1) en informatique,<br><br>·&nbsp; d’un titre d’ingénieur en informatique<br><br>·&nbsp; d’un titre équivalent<br><br>Le Master GLRE peut également accueillir des étudiants en Formation Continue ou titulaires d’autres Maîtrises, après examen détaillé de leur cursus et/ou de leurs acquis professionnels (compétences en architecture, en systèmes opératoires, etc.).<br><br><br>PROCEDURE ET DOSSIER DE CANDIDATURE : Toute admission en Master 2 de droit ou par validation passe obligatoirement par un dépôt de candidature sur le site web de l'UPS : <a href=\"http://www.syspo.ups-tlse.fr/\">http://www.syspo.ups-tlse.fr/</a> <br>", 
//	"Contact", "<font style=\"text-decoration: underline;\" size=\"3\"><span style=\"font-weight: bold;\">Responsables de la formation:</span></font><br><br><br><span style=\"font-weight: bold;\">Christine MAUREL</span><br><br>IRIT-UPS, 118 route de Narbonne, 31062 Toulouse Cedex 9<br><br>tél : 05 61 55 62 46&nbsp;&nbsp;&nbsp; fax : 05 61 55 62 58<br><br>mél : Christine.Maurel@irit.fr<br><br>&nbsp;<br><br><span style=\"font-weight: bold;\">Bernard CHERBONNEAU (resp. parcours « Logiciels Embarqués »)</span><br><br>IRIT-UPS, 118 route de Narbonne, 31062 Toulouse Cedex 9<br><br>tél : 05 61 55 63 52&nbsp;&nbsp;&nbsp; fax : 05 61 55 62 58<br><br>mél : Bernard.Cherbonneau@irit.fr<br><br>&nbsp;<br><br><span style=\"font-weight: bold;\">Jean-Paul ARCANGELI (resp. parcours « Logiciels Répartis »)</span><br><br>IRIT-UPS, 118 route de Narbonne, 31062 Toulouse Cedex 9<br><br>tél : 05 61 55 63 49&nbsp;&nbsp;&nbsp;&nbsp; fax : 05 61 55 62 58<br><br>mél : Jean-Paul.Arcangeli@irit.fr<br><br><br><br><br><br><font style=\"text-decoration: underline;\" size=\"3\"><span style=\"font-weight: bold;\">Secrétariat de la formation :</span></font><br><br><br><span style=\"font-weight: bold;\">Brigitte BECHU</span><br><br>UPS – UFR MIG, Bât 1TP1 - porte B13, 118 route de Narbonne, 31062 Toulouse Cedex 9<br><br>tél/fax : 05 61 55 86 39<br><br>mél : secm2info@adm.ups-tlse.fr"};
//	return page;
//	}

	private void showInfo() {
		show(list.find(0), false);
	}

	public VerticalPanel getPanel() {
		return panel;
	}
}
